package com.demo.structural.proxy;

/**
 * 代理模式
 * 代理模式就是多一个代理类出来，替原对象进行一些操作，一般应用场景有：因为某种原因，如访问类的权限等，我们想要隐藏某个类或者不想使用某个类，
 * 此时可以为其提供代理类，当需要拓展某个类而又不影响其他子类时，也可以实现代理类来进行拓展，实现方法就是新增一个类实现共同接口，然后注入原
 * 父类进行修改，也就是跟对象适配器模式一样，只是考虑的出发点不同。
 * @author allen
 *
 */
public class Test {
	
	public static void main(String[] args) {
		Appeal lawyer = new Lawyer(new Client());
		lawyer.talk();
		lawyer.write();
	}

}
